#!/bin/bash

# 脚本名称：system_info_check.sh
# 描述：Linux登录时自动执行的系统信息检查脚本

# 函数：检查容器运行时状态
check_container_runtime() {
  local runtime=$1

  if command -v "$runtime" &> /dev/null; then
    echo "$runtime 状态："
    if [[ "$runtime" == "docker" ]]; then
      "$runtime" info
      "$runtime" ps
    elif [[ "$runtime" == "crictl" ]]; then
      crictl ps
    elif [[ "$runtime" == "containerd" ]]; then
      containerd --version
      crictl ps
    fi
  else
    echo "$runtime 未安装。"
  fi
}

# 显示系统信息
echo "系统信息："
hostnamectl | grep -E 'Operating System|Kernel|Architecture'

# 显示CPU使用情况
echo "CPU使用情况："
top -bn1 | grep load | awk '{printf "CPU Load: %.2f", $(NF-2)}'

# 显示内存使用情况
echo "内存使用情况："
free -m | awk 'NR==2{printf "已使用: %.3f GB, 空闲: %.3f GB, 总内存: %.3f GB\n", $3/1024, $4/1024, $2/1024}'

# 显示磁盘使用情况
echo "磁盘使用情况："
df -h | grep -vE '^Filesystem|tmpfs|cdrom'

# 显示网络连接
echo "网络连接："
ip addr

# 检查Docker状态
check_container_runtime "docker"

# 检查containerd状态
check_container_runtime "containerd"

# 检查cri-o状态，如果使用crictl
check_container_runtime "crictl"

# 其他检查可以在这里添加
# ...

echo "系统信息检查完成。"
